home *** CD-ROM | disk | FTP | other *** search
/ CD Fun House 1 / CD Fun House (Wayzata Technology).iso / •The Arcade• / MacNinja 3.0 •••• / MacNinja 3.0 ееее.rsrc / CODE_2_Init.txt < prev    next >
Text File  |  1990-02-08  |  28KB  |  490 lines

  1. # near model CODE resource
  2. # jump table entries: 8-8 (1 of them)
  3. export_1:
  4. 00000000  2E1F                     move.l     D7, [A7]+
  5. 00000002  7200                     moveq.l    D1, 0x00
  6. 00000004  41ED FA9C                lea.l      A0, [A5 - 0x564]
  7. 00000008  43ED FEF8                lea.l      A1, [A5 - 0x108]
  8. 0000000C  2009                     move.l     D0, A1
  9. 0000000E  9088                     sub.l      D0, A0
  10. 00000010  E480                     asr        D0, 2
  11. label00000012:
  12. 00000012  20C1                     move.l     [A0]+, D1
  13. 00000014  51C8 FFFC                dbf        D0, -0x6 /* 00000012 */
  14. 00000018  4278 0A22                clr.w      [0x00000A22 /* CurDeKind */]
  15. 0000001C  49ED FBFC                lea.l      A4, [A5 - 0x404]
  16. 00000020  294C 0008                move.l     [A4 + 0x8], A4
  17. 00000024  41ED 0042                lea.l      A0, [A5 + 0x42 /* export_4 */]
  18. 00000028  2948 FFF8                move.l     [A4 - 0x8], A0
  19. 0000002C  72FF                     moveq.l    D1, 0xFFFFFFFF
  20. 0000002E  397C 0001 FF50           move.w     [A4 - 0xB0], 0x1
  21. 00000034  2941 FF70                move.l     [A4 - 0x90], D1
  22. 00000038  2941 0038                move.l     [A4 + 0x38], D1
  23. 0000003C  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  24. 00000042  6606                     bne        +0x8 /* 0000004A */
  25. 00000044  08EC 0007 FFD0           bset.b     [A4 - 0x30], 0x7
  26. label0000004A:
  27. 0000004A  303C 0260                move.w     D0, 0x260
  28. 0000004E  A346                     syscall    GetOSTrapAddress, flags=3
  29. 00000050  2248                     movea.l    A1, A0
  30. 00000052  303C 009F                move.w     D0, 0x9F
  31. 00000056  A346                     syscall    GetOSTrapAddress, flags=3
  32. 00000058  B3C8                     cmpa.l     A1, A0
  33. 0000005A  6706                     beq        +0x8 /* 00000062 */
  34. 0000005C  08EC 0000 FFD3           bset.b     [A4 - 0x2D], 0x0
  35. label00000062:
  36. 00000062  303C A055                move.w     D0, 0xA055
  37. 00000066  A346                     syscall    GetOSTrapAddress, flags=3
  38. 00000068  B1FC 0040 536E           cmpa.l     A0, 0x40536E /* '@Sn' */
  39. 0000006E  670C                     beq        +0xE /* 0000007C */
  40. 00000070  2248                     movea.l    A1, A0
  41. 00000072  303C A89F                move.w     D0, 0xA89F
  42. 00000076  A346                     syscall    GetOSTrapAddress, flags=3
  43. 00000078  B3C8                     cmpa.l     A1, A0
  44. 0000007A  6616                     bne        +0x18 /* 00000092 */
  45. label0000007C:
  46. 0000007C  7006                     moveq.l    D0, 0x06
  47. 0000007E  A51E                     syscall    NewPtrSys, flags=5
  48. 00000080  20BC C0B8 031A           move.l     [A0], 0xC0B8031A
  49. 00000086  317C 4E75 0004           move.w     [A0 + 0x4], 0x4E75 /* 'Nu' */
  50. 0000008C  303C A055                move.w     D0, 0xA055
  51. 00000090  A247                     syscall    SetOSTrapAddress, flags=2
  52. label00000092:
  53. 00000092  294F FFAC                move.l     [A4 - 0x54], A7
  54. 00000096  41EF F800                lea.l      A0, [A7 - 0x800]
  55. 0000009A  21C8 0A94                move.l     [0x00000A94 /* SaveSP */], A0
  56. 0000009E  2078 0AEC                movea.l    A0, [0x00000AEC /* AppParmHandle */]
  57. 000000A2  A025                     syscall    GetHandleSize
  58. 000000A4  4A80                     tst.l      D0
  59. 000000A6  6F04                     ble        +0x6 /* 000000AC */
  60. 000000A8  2948 FF9C                move.l     [A4 - 0x64], A0
  61. label000000AC:
  62. 000000AC  486D FFFC                pea.l      [A5 - 0x4]
  63. 000000B0  A86E                     syscall    InitGraf
  64. 000000B2  A8FE                     syscall    InitFonts
  65. 000000B4  A912                     syscall    InitWindows
  66. 000000B6  A930                     syscall    InitMenus
  67. 000000B8  A9CC                     syscall    TEInit
  68. 000000BA  A850                     syscall    InitCursor
  69. 000000BC  A852                     syscall    HideCursor
  70. 000000BE  42A7                     clr.l      -[A7]
  71. 000000C0  2F3C 5354 5220           move.l     -[A7], 0x53545220 /* 'STR ' */
  72. 000000C6  3F3C 0191                move.w     -[A7], 0x191
  73. 000000CA  A9A0                     syscall    GetResource
  74. 000000CC  261F                     move.l     D3, [A7]+
  75. 000000CE  6700 00A0                beq        +0xA2 /* 00000170 */
  76. 000000D2  4267                     clr.w      -[A7]
  77. 000000D4  2043                     movea.l    A0, D3
  78. 000000D6  2F10                     move.l     -[A7], [A0]
  79. 000000D8  A997                     syscall    OpenResFile
  80. 000000DA  305F                     movea.w    A0, [A7]+
  81. 000000DC  2948 FFD8                move.l     [A4 - 0x28], A0
  82. 000000E0  B0FC FFFF                cmpa.w     A0, 0xFFFF
  83. 000000E4  6750                     beq        +0x52 /* 00000136 */
  84. 000000E6  2238 0A50                move.l     D1, [0x00000A50 /* TopMapHndl */]
  85. 000000EA  2041                     movea.l    A0, D1
  86. 000000EC  2050                     movea.l    A0, [A0]
  87. 000000EE  48E7 C040                movem.l    -[A7], D0,D1,A1
  88. 000000F2  2008                     move.l     D0, A0
  89. 000000F4  A055                     syscall    StripAddress
  90. 000000F6  2040                     movea.l    A0, D0
  91. 000000F8  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  92. 000000FC  2268 0010                movea.l    A1, [A0 + 0x10]
  93. 00000100  21C9 0A50                move.l     [0x00000A50 /* TopMapHndl */], A1
  94. 00000104  2251                     movea.l    A1, [A1]
  95. 00000106  48E7 C080                movem.l    -[A7], D0,D1,A0
  96. 0000010A  2009                     move.l     D0, A1
  97. 0000010C  A055                     syscall    StripAddress
  98. 0000010E  2240                     movea.l    A1, D0
  99. 00000110  4CDF 0103                movem.l    D0,D1,A0, [A7]+
  100. 00000114  2041                     movea.l    A0, D1
  101. 00000116  2050                     movea.l    A0, [A0]
  102. 00000118  48E7 C040                movem.l    -[A7], D0,D1,A1
  103. 0000011C  2008                     move.l     D0, A0
  104. 0000011E  A055                     syscall    StripAddress
  105. 00000120  2040                     movea.l    A0, D0
  106. 00000122  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  107. 00000126  2169 0010 0010           move.l     [A0 + 0x10], [A1 + 0x10]
  108. 0000012C  2341 0010                move.l     [A1 + 0x10], D1
  109. 00000130  3F38 0900                move.w     -[A7], [0x00000900 /* CurApRefNum */]
  110. 00000134  A998                     syscall    UseResFile
  111. label00000136:
  112. 00000136  2943 FFD4                move.l     [A4 - 0x2C], D3
  113. 0000013A  6100 03E6                bsr        +0x3E8 /* 00000522 */
  114. 0000013E  206D FED6                movea.l    A0, [A5 - 0x12A]
  115. 00000142  2050                     movea.l    A0, [A0]
  116. 00000144  48E7 C040                movem.l    -[A7], D0,D1,A1
  117. 00000148  2008                     move.l     D0, A0
  118. 0000014A  A055                     syscall    StripAddress
  119. 0000014C  2040                     movea.l    A0, D0
  120. 0000014E  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  121. 00000152  3028 0002                move.w     D0, [A0 + 0x2]
  122. 00000156  6B18                     bmi        +0x1A /* 00000170 */
  123. 00000158  303C 0060                move.w     D0, 0x60 /* '`' */
  124. 0000015C  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  125. 0000015E  2248                     movea.l    A1, A0
  126. 00000160  303C 009F                move.w     D0, 0x9F
  127. 00000164  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  128. 00000166  B3C8                     cmpa.l     A1, A0
  129. 00000168  6706                     beq        +0x8 /* 00000170 */
  130. 0000016A  08EC 0001 FFD3           bset.b     [A4 - 0x2D], 0x1
  131. label00000170:
  132. 00000170  42A7                     clr.l      -[A7]
  133. 00000172  3F3C 018F                move.w     -[A7], 0x18F
  134. 00000176  A9BC                     syscall    GetPicture
  135. 00000178  261F                     move.l     D3, [A7]+
  136. 0000017A  6726                     beq        +0x28 /* 000001A2 */
  137. 0000017C  2678 09DE                movea.l    A3, [0x000009DE /* WMgrPort */]
  138. 00000180  2F0B                     move.l     -[A7], A3
  139. 00000182  A873                     syscall    SetPort
  140. 00000184  2F03                     move.l     -[A7], D3
  141. 00000186  2043                     movea.l    A0, D3
  142. 00000188  2050                     movea.l    A0, [A0]
  143. 0000018A  48E7 C040                movem.l    -[A7], D0,D1,A1
  144. 0000018E  2008                     move.l     D0, A0
  145. 00000190  A055                     syscall    StripAddress
  146. 00000192  2040                     movea.l    A0, D0
  147. 00000194  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  148. 00000198  4868 0002                pea.l      [A0 + 0x2]
  149. 0000019C  A8F6                     syscall    DrawPicture
  150. 0000019E  2F03                     move.l     -[A7], D3
  151. 000001A0  A9A3                     syscall    ReleaseResource
  152. label000001A2:
  153. 000001A2  42A7                     clr.l      -[A7]
  154. 000001A4  2F3C 4355 5253           move.l     -[A7], 0x43555253 /* 'CURS' */
  155. 000001AA  3F3C 0004                move.w     -[A7], 0x4
  156. 000001AE  A9A0                     syscall    GetResource
  157. 000001B0  2057                     movea.l    A0, [A7]
  158. 000001B2  2050                     movea.l    A0, [A0]
  159. 000001B4  48E7 C040                movem.l    -[A7], D0,D1,A1
  160. 000001B8  2008                     move.l     D0, A0
  161. 000001BA  A055                     syscall    StripAddress
  162. 000001BC  2040                     movea.l    A0, D0
  163. 000001BE  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  164. 000001C2  43ED FDFC                lea.l      A1, [A5 - 0x204]
  165. 000001C6  7044                     moveq.l    D0, 0x44
  166. 000001C8  A02E                     syscall    BlockMove/BlockMoveData
  167. 000001CA  A9A3                     syscall    ReleaseResource
  168. 000001CC  297C 0000 0940 FFD4      move.l     [A4 - 0x2C], 0x940 /* '\t@' */
  169. 000001D4  7800                     moveq.l    D4, 0x00
  170. 000001D6  2F00                     move.l     -[A7], D0
  171. 000001D8  2F3C 3443 4647           move.l     -[A7], 0x34434647 /* '4CFG' */
  172. 000001DE  4267                     clr.w      -[A7]
  173. 000001E0  A9A0                     syscall    GetResource
  174. 000001E2  2A1F                     move.l     D5, [A7]+
  175. 000001E4  6738                     beq        +0x3A /* 0000021E */
  176. 000001E6  2245                     movea.l    A1, D5
  177. 000001E8  2251                     movea.l    A1, [A1]
  178. 000001EA  48E7 C080                movem.l    -[A7], D0,D1,A0
  179. 000001EE  2009                     move.l     D0, A1
  180. 000001F0  A055                     syscall    StripAddress
  181. 000001F2  2240                     movea.l    A1, D0
  182. 000001F4  4CDF 0103                movem.l    D0,D1,A0, [A7]+
  183. 000001F8  2029 0004                move.l     D0, [A1 + 0x4]
  184. 000001FC  91B8 0130                sub.l      [0x00000130 /* ApplLimit */], D0
  185. 00000200  2029 0008                move.l     D0, [A1 + 0x8]
  186. 00000204  670E                     beq        +0x10 /* 00000214 */
  187. 00000206  41EF FFE0                lea.l      A0, [A7 - 0x20]
  188. 0000020A  2B48 FAA0                move.l     [A5 - 0x560], A0
  189. 0000020E  21C8 0A94                move.l     [0x00000A94 /* SaveSP */], A0
  190. 00000212  9FC0                     sub.l      A7, D0
  191. label00000214:
  192. 00000214  2011                     move.l     D0, [A1]
  193. 00000216  A11E                     syscall    NewPtr, flags=1
  194. 00000218  2808                     move.l     D4, A0
  195. 0000021A  2F0D                     move.l     -[A7], A5
  196. 0000021C  A9A3                     syscall    ReleaseResource
  197. label0000021E:
  198. 0000021E  6100 0150                bsr        +0x152 /* 00000370 */
  199. 00000222  4278 0A5E                clr.w      [0x00000A5E /* ResLoad */]
  200. 00000226  42A7                     clr.l      -[A7]
  201. 00000228  2F3C 4F42 4A20           move.l     -[A7], 0x4F424A20 /* 'OBJ ' */
  202. 0000022E  3F3C 0001                move.w     -[A7], 0x1
  203. 00000232  A9A0                     syscall    GetResource
  204. 00000234  31FC FFFF 0A5E           move.w     [0x00000A5E /* ResLoad */], 0xFFFF
  205. 0000023A  261F                     move.l     D3, [A7]+
  206. 0000023C  6700 0166                beq        +0x168 /* 000003A4 */
  207. 00000240  42A7                     clr.l      -[A7]
  208. 00000242  2F03                     move.l     -[A7], D3
  209. 00000244  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  210. 00000246  201F                     move.l     D0, [A7]+
  211. 00000248  A040                     syscall    ResrvMem/ReserveMem
  212. 0000024A  2F03                     move.l     -[A7], D3
  213. 0000024C  A9A2                     syscall    LoadResource
  214. 0000024E  2043                     movea.l    A0, D3
  215. 00000250  2450                     movea.l    A2, [A0]
  216. 00000252  48E7 C0C0                movem.l    -[A7], D0,D1,A0,A1
  217. 00000256  200A                     move.l     D0, A2
  218. 00000258  A055                     syscall    StripAddress
  219. 0000025A  2440                     movea.l    A2, D0
  220. 0000025C  4CDF 0303                movem.l    D0,D1,A0,A1, [A7]+
  221. 00000260  202A 0004                move.l     D0, [A2 + 0x4]
  222. 00000264  342A 000C                move.w     D2, [A2 + 0xC]
  223. 00000268  426A 000C                clr.w      [A2 + 0xC]
  224. 0000026C  48C2                     ext.l      D2
  225. 0000026E  6B02                     bmi        +0x4 /* 00000272 */
  226. 00000270  D082                     add.l      D0, D2
  227. label00000272:
  228. 00000272  2480                     move.l     [A2], D0
  229. 00000274  A024                     syscall    SetHandleSize
  230. 00000276  6600 012C                bne        +0x12E /* 000003A4 */
  231. 0000027A  2043                     movea.l    A0, D3
  232. 0000027C  A029                     syscall    HLock
  233. 0000027E  2450                     movea.l    A2, [A0]
  234. 00000280  48E7 C0C0                movem.l    -[A7], D0,D1,A0,A1
  235. 00000284  200A                     move.l     D0, A2
  236. 00000286  A055                     syscall    StripAddress
  237. 00000288  2440                     movea.l    A2, D0
  238. 0000028A  4CDF 0303                movem.l    D0,D1,A0,A1, [A7]+
  239. 0000028E  2012                     move.l     D0, [A2]
  240. 00000290  0480 0000 0080           subi.l     D0, 0x80
  241. 00000296  D56A 000E                add.w      [A2 + 0xE], D2
  242. 0000029A  4A82                     tst.l      D2
  243. 0000029C  671C                     beq        +0x1E /* 000002BA */
  244. 0000029E  6B0C                     bmi        +0xE /* 000002AC */
  245. 000002A0  41EA 0080                lea.l      A0, [A2 + 0x80]
  246. 000002A4  43F0 2800                lea.l      A1, [A0 + D2]
  247. 000002A8  9082                     sub.l      D0, D2
  248. 000002AA  600C                     bra        +0xE /* 000002B8 */
  249. label000002AC:
  250. 000002AC  43EA 0080                lea.l      A1, [A2 + 0x80]
  251. 000002B0  D082                     add.l      D0, D2
  252. 000002B2  4482                     neg.l      D2
  253. 000002B4  41F1 2800                lea.l      A0, [A1 + D2]
  254. label000002B8:
  255. 000002B8  A02E                     syscall    BlockMove/BlockMoveData
  256. label000002BA:
  257. 000002BA  4A84                     tst.l      D4
  258. 000002BC  6704                     beq        +0x6 /* 000002C2 */
  259. 000002BE  2044                     movea.l    A0, D4
  260. 000002C0  A01F                     syscall    DisposPtr/DisposePtr
  261. label000002C2:
  262. 000002C2  2943 FFBC                move.l     [A4 - 0x44], D3
  263. 000002C6  2C4A                     movea.l    A6, A2
  264. 000002C8  DCEA 000E                add.w      A6, [A2 + 0xE]
  265. 000002CC  294E FFF4                move.l     [A4 - 0xC], A6
  266. 000002D0  41EA 0080                lea.l      A0, [A2 + 0x80]
  267. 000002D4  91CE                     sub.l      A0, A6
  268. 000002D6  2D48 FFF8                move.l     [A6 - 0x8], A0
  269. 000002DA  4AAA 0020                tst.l      [A2 + 0x20]
  270. 000002DE  6620                     bne        +0x22 /* 00000300 */
  271. 000002E0  42A7                     clr.l      -[A7]
  272. 000002E2  2F3C 564F 4342           move.l     -[A7], 0x564F4342 /* 'VOCB' */
  273. 000002E8  3F3C 0001                move.w     -[A7], 0x1
  274. 000002EC  A9A0                     syscall    GetResource
  275. 000002EE  201F                     move.l     D0, [A7]+
  276. 000002F0  6708                     beq        +0xA /* 000002FA */
  277. 000002F2  2040                     movea.l    A0, D0
  278. 000002F4  2948 FFB8                move.l     [A4 - 0x48], A0
  279. 000002F8  A04A                     syscall    HNoPurge
  280. label000002FA:
  281. 000002FA  3F3C 0190                move.w     -[A7], 0x190
  282. 000002FE  6004                     bra        +0x6 /* 00000304 */
  283. label00000300:
  284. 00000300  3F3C 0191                move.w     -[A7], 0x191
  285. label00000304:
  286. 00000304  A989                     syscall    CouldAlert
  287. 00000306  4E56 FF90                link       A6, -0x0070
  288. 0000030A  41EE FF94                lea.l      A0, [A6 - 0x6C]
  289. 0000030E  217C 0000 0910 0012      move.l     [A0 + 0x12], 0x910
  290. 00000316  4268 0016                clr.w      [A0 + 0x16]
  291. 0000031A  42A8 0030                clr.l      [A0 + 0x30]
  292. 0000031E  4228 001A                clr.b      [A0 + 0x1A]
  293. 00000322  4268 001C                clr.w      [A0 + 0x1C]
  294. 00000326  A20C                     syscall    GetFileInfo/PBHGetFInfo/HGetFileInfo, flags=2
  295. 00000328  2968 0024 FF88           move.l     [A4 - 0x78], [A0 + 0x24]
  296. 0000032E  4E5E                     unlink     A6
  297. 00000330  297C 5445 5854 FF8C      move.l     [A4 - 0x74], 0x54455854 /* 'TEXT' */
  298. 00000338  42A7                     clr.l      -[A7]
  299. 0000033A  2F3C 434F 4445           move.l     -[A7], 0x434F4445 /* 'CODE' */
  300. 00000340  3F3C 0100                move.w     -[A7], 0x100
  301. 00000344  A9A0                     syscall    GetResource
  302. 00000346  201F                     move.l     D0, [A7]+
  303. 00000348  6716                     beq        +0x18 /* 00000360 */
  304. 0000034A  2040                     movea.l    A0, D0
  305. 0000034C  2050                     movea.l    A0, [A0]
  306. 0000034E  48E7 C040                movem.l    -[A7], D0,D1,A1
  307. 00000352  2008                     move.l     D0, A0
  308. 00000354  A055                     syscall    StripAddress
  309. 00000356  2040                     movea.l    A0, D0
  310. 00000358  4CDF 0203                movem.l    D0,D1,A1, [A7]+
  311. 0000035C  4EA8 0004                jsr        [A0 + 0x4]
  312. label00000360:
  313. 00000360  7010                     moveq.l    D0, 0x10
  314. 00000362  A322                     syscall    NewHandleClear, flags=3
  315. 00000364  2948 FFC0                move.l     [A4 - 0x40], A0
  316. 00000368  6702                     beq        +0x4 /* 0000036C */
  317. 0000036A  A04A                     syscall    HNoPurge
  318. label0000036C:
  319. 0000036C  2F07                     move.l     -[A7], D7
  320. 0000036E  4E75                     rts
  321. fn00000370:
  322. 00000370  4A38 028E                tst.b      [0x0000028E /* ROM85 */]
  323. 00000374  6A2A                     bpl        +0x2C /* 000003A0 */
  324. 00000376  2078 0130                movea.l    A0, [0x00000130 /* ApplLimit */]
  325. 0000037A  43F8 0114                lea.l      A1, [0x00000114 /* HeapEnd */]
  326. 0000037E  2008                     move.l     D0, A0
  327. 00000380  9091                     sub.l      D0, [A1]
  328. 00000382  740C                     moveq.l    D2, 0x0C
  329. 00000384  B082                     cmp.l      D0, D2
  330. 00000386  6516                     bcs        +0x18 /* 0000039E */
  331. 00000388  2251                     movea.l    A1, [A1]
  332. 0000038A  21C8 0114                move.l     [0x00000114 /* HeapEnd */], A0
  333. 0000038E  2280                     move.l     [A1], D0
  334. 00000390  4211                     clr.b      [A1]
  335. 00000392  2278 02AA                movea.l    A1, [0x000002AA /* ApplZone */]
  336. 00000396  2288                     move.l     [A1], A0
  337. 00000398  2082                     move.l     [A0], D2
  338. 0000039A  D1A9 000C                add.l      [A1 + 0xC], D0
  339. label0000039E:
  340. 0000039E  4E75                     rts
  341. label000003A0:
  342. 000003A0  A063                     syscall    MaxApplZone
  343. 000003A2  4E75                     rts
  344. label000003A4:
  345. 000003A4  3F3C 0030                move.w     -[A7], 0x30 /* '0' */
  346. 000003A8  A9C8                     syscall    SysBeep
  347. 000003AA  3F3C 0020                move.w     -[A7], 0x20 /* ' ' */
  348. 000003AE  A9C8                     syscall    SysBeep
  349. 000003B0  3F3C 0010                move.w     -[A7], 0x10
  350. 000003B4  A9C8                     syscall    SysBeep
  351. 000003B6  A9F4                     syscall    ExitToShell
  352. fn000003B8:
  353. 000003B8  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  354. 000003BC  6B22                     bmi        +0x24 /* 000003E0 */
  355. 000003BE  303C 0090                move.w     D0, 0x90
  356. 000003C2  A346                     syscall    GetOSTrapAddress, flags=3
  357. 000003C4  2248                     movea.l    A1, A0
  358. 000003C6  303C 009F                move.w     D0, 0x9F
  359. 000003CA  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  360. 000003CC  B3C8                     cmpa.l     A1, A0
  361. 000003CE  6710                     beq        +0x12 /* 000003E0 */
  362. 000003D0  225F                     movea.l    A1, [A7]+
  363. 000003D2  205F                     movea.l    A0, [A7]+
  364. 000003D4  301F                     move.w     D0, [A7]+
  365. 000003D6  2F09                     move.l     -[A7], A1
  366. 000003D8  A090                     syscall    SysEnvirons
  367. 000003DA  3F40 0004                move.w     [A7 + 0x4], D0
  368. 000003DE  4E75                     rts
  369. label000003E0:
  370. 000003E0  206F 0004                movea.l    A0, [A7 + 0x4]
  371. 000003E4  303C 0001                move.w     D0, 0x1
  372. 000003E8  2248                     movea.l    A1, A0
  373. 000003EA  6006                     bra        +0x8 /* 000003F2 */
  374. 000003EC  0313                     btst       [A3], D1
  375. 000003EE  0B02                     btst       D2, D5
  376. 000003F0  0100                     btst       D0, D0
  377. label000003F2:
  378. 000003F2  303C 0010                move.w     D0, 0x10
  379. 000003F6  E240                     asr        D0.w, 1
  380. 000003F8  5340                     subq.w     D0, 1
  381. label000003FA:
  382. 000003FA  4258                     clr.w      [A0]+
  383. 000003FC  51C8 FFFC                dbf        D0, -0x6 /* 000003FA */
  384. 00000400  32BC 0001                move.w     [A1], 0x1
  385. 00000404  2078 02AE                movea.l    A0, [0x000002AE /* ROMBase */]
  386. 00000408  337C FFFE 0002           move.w     [A1 + 0x2], 0xFFFE
  387. 0000040E  0C28 00FF 0009           cmpi.b     [A0 + 0x9], 0xFF
  388. 00000414  6742                     beq        +0x44 /* 00000458 */
  389. 00000416  4A28 0008                tst.b      [A0 + 0x8]
  390. 0000041A  6E20                     bgt        +0x22 /* 0000043C */
  391. 0000041C  337C FFFF 0002           move.w     [A1 + 0x2], 0xFFFF
  392. 00000422  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  393. 00000426  6B30                     bmi        +0x32 /* 00000458 */
  394. 00000428  337C 0001 0002           move.w     [A1 + 0x2], 0x1
  395. 0000042E  4A78 0B22                tst.w      [0x00000B22 /* HWCfgFlags */]
  396. 00000432  6A24                     bpl        +0x26 /* 00000458 */
  397. 00000434  337C 0002 0002           move.w     [A1 + 0x2], 0x2
  398. 0000043A  601C                     bra        +0x1E /* 00000458 */
  399. label0000043C:
  400. 0000043C  4269 0002                clr.w      [A1 + 0x2]
  401. 00000440  0C28 0002 0008           cmpi.b     [A0 + 0x8], 0x2
  402. 00000446  6E10                     bgt        +0x12 /* 00000458 */
  403. 00000448  6708                     beq        +0xA /* 00000452 */
  404. 0000044A  337C 0004 0002           move.w     [A1 + 0x2], 0x4
  405. 00000450  6006                     bra        +0x8 /* 00000458 */
  406. label00000452:
  407. 00000452  337C 0003 0002           move.w     [A1 + 0x2], 0x3
  408. label00000458:
  409. 00000458  4269 0004                clr.w      [A1 + 0x4]
  410. 0000045C  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  411. 00000462  6E0A                     bgt        +0xC /* 0000046E */
  412. 00000464  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  413. 00000468  5240                     addq.w     D0, 1
  414. 0000046A  1340 0007                move.b     [A1 + 0x7], D0
  415. label0000046E:
  416. 0000046E  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  417. 00000472  6B0E                     bmi        +0x10 /* 00000482 */
  418. 00000474  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  419. 0000047A  6706                     beq        +0x8 /* 00000482 */
  420. 0000047C  137C 0001 0008           move.b     [A1 + 0x8], 0x1
  421. label00000482:
  422. 00000482  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  423. 00000488  6206                     bhi        +0x8 /* 00000490 */
  424. 0000048A  137C 0001 0009           move.b     [A1 + 0x9], 0x1
  425. label00000490:
  426. 00000490  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  427. 00000494  41FA FF5B                lea.l      A0, [PC - 0xA5 /* 000003F1, value 0x303C00 '0<\0', cstring "" */]
  428. 00000498  323C 0004                move.w     D1, 0x4
  429. label0000049C:
  430. 0000049C  B020                     cmp.b      D0, -[A0]
  431. 0000049E  57C9 FFFC                dbeq       D1, -0x6 /* 0000049C */
  432. 000004A2  5241                     addq.w     D1, 1
  433. 000004A4  3341 000A                move.w     [A1 + 0xA], D1
  434. 000004A8  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  435. 000004AC  6B18                     bmi        +0x1A /* 000004C6 */
  436. 000004AE  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  437. 000004B2  0201 000F                andi.b     D1, 0xF
  438. 000004B6  0C01 0001                cmpi.b     D1, 0x1
  439. 000004BA  660A                     bne        +0xC /* 000004C6 */
  440. 000004BC  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  441. 000004C0  1368 0007 000D           move.b     [A1 + 0xD], [A0 + 0x7]
  442. label000004C6:
  443. 000004C6  3378 0210 000E           move.w     [A1 + 0xE], [0x00000210 /* BootDrive */]
  444. 000004CC  4A78 03F6                tst.w      [0x000003F6 /* FSFCBLen */]
  445. 000004D0  6D44                     blt        +0x46 /* 00000516 */
  446. 000004D2  4269 000E                clr.w      [A1 + 0xE]
  447. 000004D6  323C 003C                move.w     D1, 0x3C /* '<' */
  448. label000004DA:
  449. 000004DA  4267                     clr.w      -[A7]
  450. 000004DC  51C9 FFFC                dbf        D1, -0x6 /* 000004DA */
  451. 000004E0  204F                     movea.l    A0, A7
  452. 000004E2  3178 0A58 0018           move.w     [A0 + 0x18], [0x00000A58 /* SysMap */]
  453. 000004E8  7008                     moveq.l    D0, 0x08
  454. 000004EA  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  455. 000004EC  6624                     bne        +0x26 /* 00000512 */
  456. 000004EE  3168 0034 0016           move.w     [A0 + 0x16], [A0 + 0x34]
  457. 000004F4  A207                     syscall    GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
  458. 000004F6  661A                     bne        +0x1C /* 00000512 */
  459. 000004F8  2168 005A 0030           move.l     [A0 + 0x30], [A0 + 0x5A]
  460. 000004FE  217C 4552 494B 001C      move.l     [A0 + 0x1C], 0x4552494B /* 'ERIK' */
  461. 00000506  7001                     moveq.l    D0, 0x01
  462. 00000508  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  463. 0000050A  6606                     bne        +0x8 /* 00000512 */
  464. 0000050C  3368 0016 000E           move.w     [A1 + 0xE], [A0 + 0x16]
  465. label00000512:
  466. 00000512  DEFC 007A                add.w      A7, 0x7A /* 'z' */
  467. label00000516:
  468. 00000516  2049                     movea.l    A0, A1
  469. 00000518  225F                     movea.l    A1, [A7]+
  470. 0000051A  5C4F                     addq.w     A7, 6
  471. 0000051C  3EBC EA84                move.w     [A7], 0xEA84
  472. 00000520  4ED1                     jmp        [A1]
  473. fn00000522:
  474. 00000522  42AD FED2                clr.l      [A5 - 0x12E]
  475. 00000526  7010                     moveq.l    D0, 0x10
  476. 00000528  A122                     syscall    NewHandle, flags=1
  477. 0000052A  2F08                     move.l     -[A7], A0
  478. 0000052C  6718                     beq        +0x1A /* 00000546 */
  479. 0000052E  A029                     syscall    HLock
  480. 00000530  2F3C 0001 0000           move.l     -[A7], 0x10000
  481. 00000536  2F10                     move.l     -[A7], [A0]
  482. 00000538  6100 FE7E                bsr        -0x180 /* 000003B8 */
  483. 0000053C  325F                     movea.w    A1, [A7]+
  484. 0000053E  2B49 FED2                move.l     [A5 - 0x12E], A1
  485. 00000542  2057                     movea.l    A0, [A7]
  486. 00000544  A02A                     syscall    HUnlock
  487. label00000546:
  488. 00000546  2B5F FED6                move.l     [A5 - 0x12A], [A7]+
  489. 0000054A  4E75                     rts
  490.